Werkzeugunterstützte Eliminierung von Data-Races in Eclipse

نویسندگان

  • Timm Felden
  • Torsten Görg
چکیده

Ein Data-Race bezeichnet eine Situation, in der ein Thread auf ein Datum zugreift und gleichzeitig ein anderen Thread darauf schreibt.[5] In C++ ist seit dem C++11-Standard festgelegt, dass das Verhalten im Falle eines Data-Races undefiniert ist (siehe [2] §1.10/21). Weil undefinierte Zustände von kritischen Systemen in einer technikdurchdrungenen Gesellschaft wie der unseren zu beliebig großen Sachund Personenschäden führen können, ist die Vermeidung solcher Zustände ein wichtiges Forschungsgebiet. Ein Data-Race wird als gefährlich bezeichnet, wenn durch das undefinierte Verhalten mindestens eine kritische Invariante des Gesamtsystems verletzt werden kann. Informell kann man sagen, dass Data-Races gefährlich sind, wenn das Gesamtverhalten des Systems unerwartet beeinflusst werden kann. Gefährlich ist z. B., wenn eine globale Zustandsvariable einen Wert annehmen kann, der kein definiertes Verhalten verursacht. Nicht gefährlich hingegen ist z. B. die Ausgabe von Fortschrittsinformationen auf der Kommandozeile. Weil die Identifikation von Data-Races im Allgemeinen unentscheidbar ist, verwenden wir eine überapproximierte Data-Race-Menge. Um dies zum Ausdruck zu bringen, sprechen wir im Folgenden von einem potentiellen Data-Race, wenn nicht entschieden werden kann, ob es sich um ein reales Data-Race handelt. Es hat sich gezeigt, dass die manuelle Bewertung einzelner potentieller Data-Races viel Zeit beansprucht und daher für Systeme mit vielen potentiellen Data-Races nicht mit vertretbarem Aufwand durchführbar ist. Hier bieten sich prinzipiell zwei Lösungswege. Zum einen kann man versuchen, durch präzisere Analysen die Anzahl der vermeintlichen DataRaces zu verringern. Zum anderen kann man versuchen, den manuellen Bewertungsprozess durch bessere Werkzeugunterstützung zu beschleunigen. Dazu kann man versuchen, mit Heuristiken potentielle Data-Races vorab zu klassifizieren[1]. Außerdem kann man relevante Informationen so aufbereiten, dass sie schneller verarbeitet werden können. Letzteren Ansatz verfolgen wir im Weiteren.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

RaceVis: Ein Werkzeug zur Visualisierung von Data Races

Die Entwicklung und Wartung von nebenläufigen Programmen ist schwierig und fehleranfällig. Fehlende oder falsche Synchronisation kann zu komplizierten Fehlerszenarien führen, die dem Quelltext nur schwer anzusehen sind, jedoch katastrophale Auswirkungen auf die Programmausführung haben können. Durch statische Programmanalyse können alle Quelltextpositionen identifiziert werden, an denen bestimm...

متن کامل

Removal of Surfactants from Effluents

Physikalisch-chemische Beliandlungsverfaliren wurden hinsichtlich ihrer Wirksamkeit bei der Eliminierung von nichtionischen und anionischen Tensiden aus Klaranlagenablaufen gepriift. Flockulierung mit Eisen(III)-chlorid ergab eine Eliminierung von 79%; eine Batchadsorption mit Hive dreier verschiedener Aktivkohlen brachte 90 % Eliminienrng bei den anionischen und mehr ais 95% Eliminierung bei d...

متن کامل

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Der Ansatz der modellgetriebenen Softwareentwicklung fokussiert die Entwicklung von Software durch deren Modellierung und einer anschließenden Transformation bis auf den Quellcode der gewünschten Zielplattform. Eine durchgehend werkzeugunterstützte Transformation der Modelle auf Quellcode ist unter anderem auf Grund ungenügender oder fehlender Metamodelle zur Beschreibung einiger Aspekte bislan...

متن کامل

OSAI: Ein Tool zur Themenanalyse in Lernraum-Foren

Die Foren von Online-Lernräumen konzentrieren sich typischerweise um Themen, die im Kurs besondere Aufmerksamkeit erfordern. Auch nach Abschluss der Diskussion finden Studierende wie Lehrende hier wertvolle Informationen. In diesem Beitrag wird ein Tool für die Themenanalyse in Lernraum-Foren vorgestellt. Das modulare Tool bietet eine Gesamtlösung an, die für verschiedene Lernraum-Systeme einse...

متن کامل

Automatische Duplikateliminierung in Aktivitätsdiagrammen von Fahrzeugfunktionen

Die Spezi®kation von Fahrzeugfunktionen ist eine komplexe Aufgabe. Zum Umgang mit dieser Komplexität werden zur Beschreibung der Funktionen gra®sche Modellierungssprachen wie UML verwendet. Bei der Modellierung können Duplikate entstehen, welche Ausgangspunkt für Fehler und Inkonsistenzen in der weiteren Entwicklung sind. Dieser Beitrag widmet sich der Eliminierung von Duplikaten, welche bei de...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Softwaretechnik-Trends

دوره 33  شماره 

صفحات  -

تاریخ انتشار 2013